package com.arpa.wms.mapper;

import com.arpa.wms.domain.dto.GoodsUnitDTO;
import com.arpa.wms.domain.entity.GoodsUnit;
import com.arpa.wms.domain.vo.UnitVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author: Allen chen
 * @Date 2020/8/11
 * @Description:
 */
public interface GoodsUnitMapper extends BaseMapper<GoodsUnit> {

    UnitVO queryListSum(GoodsUnitDTO unitDTO);

    List<UnitVO> queryList(GoodsUnitDTO unitDTO);

    List<UnitVO> queryUnitsByCodes(List<String> list);

    List<UnitVO> queryUnitForGoods(GoodsUnitDTO unitDTO);

    int batchDelete(List<String> list);

    UnitVO checkNameOrCode(GoodsUnitDTO goodsUnit);

    /**
     * 执行原生sql
     * @param sql
     * @return
     */
    int execSql(@Param("sql") String sql);


    /**
     * 获取使用该单位的商品数量
     * @param codes 单位标识
     * @return
     */
    List<Map<String, Integer>> goodsUseCount(@Param("codes") List<String> codes);
}
